local ItemData = require("bag.Proto").ItemData
local HeroSimple = require("hero.Proto").HeroSimple
local CombatFinishData = require("combat.Proto").CombatFinishData
-- 排行榜
LianyuBoardNet = {
	{"rank",		1,		"byte"},  -- 排名
    {"name",		1, 		"string"},-- 名字
    {"lv", 			1, 		"int"},   -- 关卡
}
LianyuDataNet = {
	{"maxLv",		1,		"int"},			-- 个人记录 最大通关数
	{"boardList",	3,		LianyuBoardNet},-- 排行榜前三信息
	{"myRank",		1,		"int"},			-- 我的排名 0-表示未上榜
	{"myRankItems",	2,		ItemData},		-- 我的上榜奖励	
	{"firstNeedLv",	1,		"int"},			-- 第x关奖励 0-表示全部首通奖励都已领取
	{"firstItems",	3,		ItemData},		-- 首通奖励
	{"firstLeftCnt",1,		"int"},			-- x关后可领
	{"rewardRed",	1,		"byte"},		-- 奖励详情红点
	{"helpRed",		1,		"byte"},		-- 好友助战红点
	{"status",		1,		"byte"},		-- 挑战状态 0-开始挑战(红点) 1-重新开始 2-重新开始+二次确认框
	{"todayStartLv",1,		"int"},			-- 从x关开始
	{"todayWinLv",	1,		"int"},			-- 今日已通关x关
	{"helpHero",	2,		HeroSimple},	-- 助战对象信息，用于
	{"helpByUuid",  1,       "string"},     -- 选择的助战英雄 来自何人
}

-- 炼狱主界面查询
CG_LIANYU_QUERY = {}
GC_LIANYU_QUERY = {
	{"data",		1,		LianyuDataNet},
}

-- 排行榜详情走CG_BILLBOARD_QUERY协议

-- ============================ 奖励预览相关 ==========================
-- 首通奖励预览
LianyuFirstRewardNet = {
	{"needLv",		1,		"int"},			-- x关首通奖励
	{"items",		3,		ItemData}, 		-- 奖励列表
	{"leftLv",		1,		"int"},			-- x关后可领 0-表示可领取 >0领表示不可领 已领的不会发给客户端
}
CG_LIANYU_FIRST_REWARD_QUERY = {}
GC_LIANYU_FIRST_REWARD_QUERY = {
	{"list",		10,		LianyuFirstRewardNet},
	{"rewardRed",	1,		"byte"},		-- 奖励详情红点-首通红点
}

-- 领取首通奖励 根据getway不同，返回不同的gc
CG_LIANYU_FIRST_REWARD_GET = {
	{"needLv",		1,		"int"},			-- x关首通奖励	
	{"getway",		1,		"byte"},		-- 0-在主界面领取 1-在首通列表领取 2-在战斗内领取
}


-- 日常奖励预览
LianyuDailyRewardNet = {
	{"needLv",		1,		"int"},			-- x关奖励
	{"items",		3,		ItemData}, 		-- 奖励列表	
}
CG_LIANYU_DAILY_REWARD_QUERY = {}
GC_LIANYU_DAILY_REWARD_QUERY = {
	{"list",		10,		LianyuDailyRewardNet}, 	-- 列表第一个为当前关卡
	{"rewardRed",	1,		"byte"},		-- 奖励详情红点-首通红点
}

-- 排行榜奖励预览
LianyuBoardRewardNet = {
	{"minRank",		1,		"int"},			-- 最小排名 minRank~maxRank名
	{"maxRank",		1,		"int"},			-- 最大排名	
	{"items",		3,		ItemData},	 	-- 奖励列表	
}
CG_LIANYU_BOARD_REWARD_QUERY = {}
GC_LIANYU_BOARD_REWARD_QUERY = {
	{"list",		20,		LianyuBoardRewardNet},
	{"rewardRed",	1,		"byte"},		-- 奖励详情红点-首通红点
}


-- ============================ 好友助阵相关 ==========================
-- 查询好友助阵-支援我的
LianyuHelpNet = {
	{"uuid",		1,		"string"},		-- 拥有者的uuid
	{"name",		1,		"string"},		-- 拥有者的名字
	{"heroSimple",	1,		HeroSimple},	-- 英雄信息
}
CG_LIANYU_HELP_FRIEND_QUERY = {}
GC_LIANYU_HELP_FRIEND_QUERY = {
	{"list",		30,		LianyuHelpNet},
	{"selectUuid",	1,		"string"},		-- 已选的助战英雄
	{"helpRed",		1,		"byte"},		-- 好友助战红点-我的支援红点
}

-- 选择助战，成功后返回GC_LIANYU_HELP_FRIEND_LIST和GC_LIANYU_QUERY
CG_LIANYU_HELP_FRIEND_SELECT = {
	{"selectUuid",	1,		"string"},		-- 拥有者的uuid，""表示取消助战
}

-- 查询好友助阵-我的支援 英雄直接取背包
CG_LIANYU_HELP_MY_QUERY = {}
GC_LIANYU_HELP_MY_QUERY = {
	{"heroSimple",	2,		HeroSimple},	-- 我派遣支援的英雄信息	列表长度0表示没有派遣
	{"helpRed",		1,		"byte"},		-- 好友助战红点-我的支援红点	
}

-- 派遣英雄，成功后返回GC_LIANYU_HELP_MY_QUERY
CG_LIANYU_HELP_MY_SELECT = {
	{"heroIndex",	1,		"int"},			-- 英雄index
}


-- ============================ 战斗相关 ==========================
-- 助战英雄出战
CG_LIANYU_SET_HELP_COMBATPOS = {
	{"pos",			1,		"byte"},		-- 位置 	
}


-- 增益buffer弹窗
GC_LIANYU_BUFFER_SELECT_LIST = {
	{"formation",   1,      "int"},         -- 阵型ID
	{"formationName",1,		"string"},		-- 阵法名字
	{"lv",			1,		"int"},			-- 将要挑战第x关
	{"bufferList",	3,		ItemData},		-- buffer列表
	{"heroList",	6,		HeroSimple},	-- 英雄列表
}

-- 选择增益buffer
CG_LIANYU_BUFFER_SELECT = {
	{"bufferIndex",	1,		"byte"},		-- 第x个buffer 1-3
}

-- 战斗界面额外信息
LianyuFightDataNet = {
	{"lv",			1,		"int"},			-- 当前关卡
	{"buffer",		1,		ItemData},		-- 增益效果
	{"items",		3,		ItemData},		-- 累计奖励 优先显示累计奖励
	{"isAllGet",	1,		"byte"},		-- 今日是否已达上限，再无结算奖励
	{"needLv", 		1, 		"byte"},   		-- 再过x关开始结算 
	{"lastLv",		1,		"int"},			-- 今日至第x关
	{"firstNeedLv",	1,		"int"},			-- 第x关奖励 0-表示全部首通奖励都已领取
	{"firstItems",	3,		ItemData},		-- 首通奖励	
	{"firstCanGet",	1,		"byte"},		-- 可否领取
}
GC_LIANYU_FIGHT_INFO = {
	{"data",		1,		LianyuFightDataNet},
}

-- 请求结算（战斗结束/中途退出等）
CG_LIANYU_FIGHT_FINISH = {}

--累计奖励结算
GC_LIANYU_FIGHT_FINISH = {
	{"items", 		5, 		ItemData},  --奖励
	{"data",		2,		CombatFinishData},
}


